home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagg_m.zip / MISC.SWG / 0024_Intra-App Comm Area.pas < prev    next >
Pascal/Delphi Source File  |  1993-08-18  |  2KB  |  41 lines

  1. { Gets or puts information in the Intra-Application Communications Area (ICA).
  2.   Part of the Heartware Toolkit v2.00 (HTmemory.PAS) for Turbo Pascal.
  3.   Author: Jose Almeida. P.O.Box 4185. 1504 Lisboa Codex. Portugal.
  4.           I can also be reached at RIME network, site ->TIB or #5314.
  5.   Feel completely free to use this source code in any way you want, and, if
  6.   you do, please don't forget to mention my name, and, give me and Swag the
  7.   proper credits. }
  8.  
  9. PROCEDURE ICA(GetPut : boolean;
  10.       var SourceDest);
  11. { DESCRIPTION:
  12.     Gets or puts information in the Intra-Application Communications Area (ICA).
  13.   SAMPLE CALL:
  14.     ICA(True,MyVar);
  15.     or
  16.     ICA(False,MyVar);
  17.   RETURNS:
  18.     See notes (bellow).
  19.   NOTES:
  20.     These sixteen bytes, called the Intra-Application Communications Area
  21.       (ICA) can be used by any program for any purpose, Usually it is used
  22.       to pass data betwenn two or more programs. Not many programs use this
  23.       area. If you wish to use this area, make sure checksums and signatures
  24.       are used to insure the reliability of your data, since another program
  25.       may also decide to use this area.
  26.            [in The Assembly Language Database, Peter Norton]
  27.     The incomming SourceDir variable may be of any type.
  28.     Nevertheless, the size of that variable MUST be at least 16 bytes long,
  29.       or unpredictable results may occur...
  30.     The programer before changing this area contents, should keep its
  31.       contents in a variable for later restore. It is not a very good ideia
  32.       to not restore the contents before the program end, because that
  33.       area may being used by another program. }
  34.  
  35. BEGIN { ICA }
  36.   if GetPut then
  37.     Move(Mem[$0000:$04F0],SourceDest,16)
  38.   else
  39.     Move(SourceDest,Mem[$0000:$04F0],16)
  40. END; { ICA }
  41.